package com.hsurosy.hsuchain.nft.file.config;

import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * OSS配置类
 *
 * @Author Hsu琛君珩
 * @Date 2024-10-05 4:26
 * @Description
 * @Version: v1.0.0
 */
@ConfigurationProperties(prefix = OssProperties.PREFIX)
public class OssProperties {

    /**
     * 配置项前缀
     */
    public static final String PREFIX = "spring.oss";

    /**
     * OSS存储桶名称
     */
    private String bucket;

    /**
     * OSS服务终端点
     */
    private String endPoint;

    /**
     * OSS访问密钥
     */
    private String accessKey;

    /**
     * OSS访问密钥的秘密
     */
    private String accessSecret;

    /**
     * OSS功能是否启用
     */
    private boolean enabled;

    /**
     * 获取OSS存储桶名称
     *
     * @return bucket 名称
     */
    public String getBucket() {
        return bucket;
    }

    /**
     * 设置OSS存储桶名称
     *
     * @param bucket OSS存储桶名称
     */
    public void setBucket(String bucket) {
        this.bucket = bucket;
    }

    /**
     * 获取OSS终端点
     *
     * @return endPoint OSS服务终端点
     */
    public String getEndPoint() {
        return endPoint;
    }

    /**
     * 设置OSS终端点
     *
     * @param endPoint OSS服务终端点
     */
    public void setEndPoint(String endPoint) {
        this.endPoint = endPoint;
    }

    /**
     * 获取OSS访问密钥
     *
     * @return accessKey 访问密钥
     */
    public String getAccessKey() {
        return accessKey;
    }

    /**
     * 设置OSS访问密钥
     *
     * @param accessKey 访问密钥
     */
    public void setAccessKey(String accessKey) {
        this.accessKey = accessKey;
    }

    /**
     * 获取OSS访问密钥的秘密
     *
     * @return accessSecret 访问密钥秘密
     */
    public String getAccessSecret() {
        return accessSecret;
    }

    /**
     * 设置OSS访问密钥的秘密
     *
     * @param accessSecret 访问密钥的秘密
     */
    public void setAccessSecret(String accessSecret) {
        this.accessSecret = accessSecret;
    }

    /**
     * 检查OSS是否启用
     *
     * @return enabled 是否启用
     */
    public boolean isEnabled() {
        return enabled;
    }

    /**
     * 设置是否启用OSS
     *
     * @param enabled 启用状态
     */
    public void setEnabled(boolean enabled) {
        this.enabled = enabled;
    }
}
